Many automation applications employ motion control systems to control position and speed motion devices. Such motion control systems typically include one or more motors or similar actuating devices operating under the guidance of a controller, which sends position and/or speed control instructions to the motor in accordance with a user-defined control algorithm or program. In a common architecture, the controller sends the control instructions to a motor drive (e.g., as an analog signal or a series of discrete step signals), and the motor drive controls the driving current output to the motor in accordance with the control instructions, facilitating the controlled movement of the motor.
When the controller determines that the motion system must move to a new position or alter its velocity (e.g., in accordance with the control algorithm or a user request), the controller must calculate a position or velocity trajectory—referred to as a motion profile—for transitioning the motion system from its current position or velocity to the target position or velocity. The motion profile defines the motion system's velocity, acceleration, and/or position over time as the system moves from the current state to the target state. Once this motion profile is calculated, the controller translates the motion profile into appropriate control signaling for moving the motion system through the trajectory defined by the profile.
In some applications, the various segments (or stages) of the motion profile are calculated based on predetermined user-defined constraints (e.g., maximum velocity, maximum acceleration, etc.), where the defined constraints may correspond to mechanical limitations of the motion system. Given these constraints and the desired target position and/or velocity, the controller will calculate the motion profile used to carry out the desired move or velocity change. The resultant motion profile is also a function of the type of profile the controller is configured to generate—e.g., a trapezoidal profile, an S-curve profile, or another type of profile.
The above-described is merely intended to provide an overview of some of the challenges facing conventional motion control systems. Other challenges with conventional systems and contrasting benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description.